package com.ruoyi.common.core.domain.entity;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 饭堂余额，记录学生在学校饭堂的总充值金额和总退款金额对象 wsd_canteen_balance
 *
 * @author ruoyi
 * @date 2024-05-22
 */
@Data
public class WsdCanteenBalance extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID，自增 */
    private String balanceId;

    /** 学生ID，关联学生表的ID */
    @Excel(name = "学生ID，关联学生表的ID")
    private String studentId;

    /** 学校ID，关联学校表的ID */
    @Excel(name = "学校ID，关联学校表的ID")
    private String schoolId;

    /** 学生的身份证号 */
    @Excel(name = "学生的身份证号")
    private String identityNumber;

    /** 早餐总充值金额 */
    @Excel(name = "早餐总充值金额")
    private BigDecimal totalRechargeAmountBreakfast;

    /** 午餐总充值金额 */
    @Excel(name = "午餐总充值金额")
    private BigDecimal totalRechargeAmountLunch;

    /** 晚餐总充值金额 */
    @Excel(name = "晚餐总充值金额")
    private BigDecimal totalRechargeAmountDinner;

    /** 早餐总退款金额 */
    @Excel(name = "早餐总退款金额")
    private BigDecimal totalRefundAmountBreakfast;

    /** 午餐总退款金额 */
    @Excel(name = "午餐总退款金额")
    private BigDecimal totalRefundAmountLunch;

    /** 晚餐总退款金额 */
    @Excel(name = "晚餐总退款金额")
    private BigDecimal totalRefundAmountDinner;

    /** 早餐当前余额 */
    @Excel(name = "早餐当前余额")
    private BigDecimal balanceBreakfast;

    /** 午餐当前余额 */
    @Excel(name = "午餐当前余额")
    private BigDecimal balanceLunch;

    /** 晚餐当前余额 */
    @Excel(name = "晚餐当前余额")
    private BigDecimal balanceDinner;

    /** 最后一次充值时间 */
    @JsonFormat(pattern = "yyyy-MM-dd ")
    @Excel(name = "最后一次充值时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime lastRechargeTime;

    /** 最后一次退款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次退款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDateTime lastRefundTime;

    private Long configId;

    private Long classId;
}
